Global Synchronization
   HOME

TheInfoList



OR:

TCP global synchronization in
computer networks A computer network is a collection of communicating computers and other devices, such as printers and smart phones. In order to communicate, the computers and devices must be connected by wired media like copper cables, optical fibers, or ...
is a pattern of each sender decreasing and increasing transmission rates at the same time as other senders. It can happen to
Transmission Control Protocol The Transmission Control Protocol (TCP) is one of the main communications protocol, protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, th ...
(TCP) flows during periods of congestion because each sender will reduce their transmission rate at the same time when packet loss occurs.


Causes

Routers on the Internet normally have packet queues, to allow them to hold packets when the network is busy, rather than discarding them. Because routers have limited resources, the size of these queues is also limited. The simplest technique to limit queue size is known as
tail drop Tail drop is a simple queue management algorithm used by network schedulers in network equipment to decide when to drop packets. With tail drop, when the queue is filled to its maximum capacity, the newly arriving packets are dropped until the qu ...
. The queue is allowed to fill to its maximum size, and then any new packets are simply discarded until there is space in the queue again. This causes problems when used on
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
routers handling multiple TCP streams, especially during peaks in traffic. While the network is stable, the queue is constantly full, and there are no problems except that the full queue results in high latency. However, the introduction of a sudden burst of traffic may cause large numbers of established, steady streams to lose packets simultaneously. TCP has automatic recovery from dropped packets, which it interprets as congestion on the network (which is usually correct). The sender reduces its sending rate for a certain amount of time and then tries to find out if the network is no longer congested by increasing the rate again subject to a ramp-up. This is known as the
slow start algorithm Transmission Control Protocol (TCP) uses a congestion control algorithm that includes various aspects of an additive increase/multiplicative decrease (AIMD) scheme, along with other schemes including slow start and a congestion window (CWND), ...
. Almost all the senders will use the same time delay before increasing their rates. When these delays expire at the same time, all the senders will send additional packets and the router queue will again overflow in a repeating feedback loop. This pattern is referred to as "global synchronization" and leads to inefficient use of bandwidth, due to the large numbers of dropped packets, which must be retransmitted, and because the senders have a reduced sending rate, compared to the stable state, while they are backed off, following each loss. This pattern is similar to the
thundering herd problem In computer science, the thundering herd problem occurs when a large number of processes or threads waiting for an event are awakened when that event occurs, but only one process is able to handle the event. When the processes wake up, they will ea ...
in process management.


Solutions

This problem has been the subject of much research. The consensus appears to be that the tail drop algorithm is the leading cause of the problem, and other queue size management algorithms such as
random early detection Random early detection (RED), also known as random early discard or random early drop, is a queuing discipline for a network scheduler suited for congestion avoidance. In the conventional tail drop algorithm, a router or other network componen ...
(RED) and
Weighted RED A weight function is a mathematical device used when performing a sum, integral, or average to give some elements more "weight" or influence on the result than other elements in the same set. The result of this application of a weight function is ...
will reduce the likelihood of global synchronization, as well as keeping queue sizes down in the face of heavy load and unexpected peak traffic.


See also

*
TCP congestion avoidance algorithm Transmission Control Protocol (TCP) uses a congestion control algorithm that includes various aspects of an additive increase/multiplicative decrease (AIMD) scheme, along with other schemes including slow start and a congestion window (CWND) ...
*
Network congestion Network congestion in data networking and queueing theory is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include queueing delay, packet loss or the blocking of ...
*
Thundering herd problem In computer science, the thundering herd problem occurs when a large number of processes or threads waiting for an event are awakened when that event occurs, but only one process is able to handle the event. When the processes wake up, they will ea ...


References

* * {{cite book , author=Szigeti, Tim , title=End-to-End QoS Network Design, chap. 6 , publisher=Cisco press , year=2005 , isbn= 1-58705-176-1


External links


ISOC paper discussing the dynamics of TCP, including global synchronization

A paper with graphs demonstrating TCP global synchronization in action and its impact when TCP coexists with UDP
TCP congestion control